↳ Prolog
↳ PrologToPiTRSProof
zebra_in(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
eq_in(X, X) → eq_out(X, X)
U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
to_the_right_in(second, first) → to_the_right_out(second, first)
to_the_right_in(third, second) → to_the_right_out(third, second)
to_the_right_in(fourth, third) → to_the_right_out(fourth, third)
to_the_right_in(fifth, fourth) → to_the_right_out(fifth, fourth)
U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
next_to_in(first, second) → next_to_out(first, second)
next_to_in(second, first) → next_to_out(second, first)
next_to_in(second, third) → next_to_out(second, third)
next_to_in(third, second) → next_to_out(third, second)
next_to_in(third, fourth) → next_to_out(third, fourth)
next_to_in(fourth, third) → next_to_out(fourth, third)
next_to_in(fourth, fifth) → next_to_out(fourth, fifth)
next_to_in(fifth, fourth) → next_to_out(fifth, fourth)
U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
houses_in(Prop) → U20(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
domain_in(.(X, Rest), Domain) → U21(X, Rest, Domain, select_in(X, Domain, NewDomain))
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
U21(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U22(X, Rest, Domain, domain_in(Rest, NewDomain))
domain_in([], X) → domain_out([], X)
U22(X, Rest, Domain, domain_out(Rest, NewDomain)) → domain_out(.(X, Rest), Domain)
U20(Prop, domain_out(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))) → houses_out(Prop)
U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_out(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))) → zebra_out(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
zebra_in(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
eq_in(X, X) → eq_out(X, X)
U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
to_the_right_in(second, first) → to_the_right_out(second, first)
to_the_right_in(third, second) → to_the_right_out(third, second)
to_the_right_in(fourth, third) → to_the_right_out(fourth, third)
to_the_right_in(fifth, fourth) → to_the_right_out(fifth, fourth)
U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
next_to_in(first, second) → next_to_out(first, second)
next_to_in(second, first) → next_to_out(second, first)
next_to_in(second, third) → next_to_out(second, third)
next_to_in(third, second) → next_to_out(third, second)
next_to_in(third, fourth) → next_to_out(third, fourth)
next_to_in(fourth, third) → next_to_out(fourth, third)
next_to_in(fourth, fifth) → next_to_out(fourth, fifth)
next_to_in(fifth, fourth) → next_to_out(fifth, fourth)
U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
houses_in(Prop) → U20(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
domain_in(.(X, Rest), Domain) → U21(X, Rest, Domain, select_in(X, Domain, NewDomain))
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
U21(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U22(X, Rest, Domain, domain_in(Rest, NewDomain))
domain_in([], X) → domain_out([], X)
U22(X, Rest, Domain, domain_out(Rest, NewDomain)) → domain_out(.(X, Rest), Domain)
U20(Prop, domain_out(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))) → houses_out(Prop)
U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_out(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))) → zebra_out(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water)
ZEBRA_IN(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
ZEBRA_IN(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → EQ_IN(Englishman, Red)
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U21(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → EQ_IN(Spaniard, Dog)
U21(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U31(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U21(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → EQ_IN(Green, Coffee)
U31(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U41(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U31(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → EQ_IN(Ukrainian, Tea)
U41(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U51(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
U41(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → TO_THE_RIGHT_IN(Green, Ivory)
U51(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U61(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U51(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → EQ_IN(Winston, Snails)
U61(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U71(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U61(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → EQ_IN(Kool, Yellow)
U71(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U81(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U71(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → EQ_IN(Milk, third)
U81(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U91(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U81(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → EQ_IN(Norwegian, first)
U91(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U101(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
U91(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → NEXT_TO_IN(Fox, Chesterfield)
U101(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U111(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U101(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → NEXT_TO_IN(Horse, Kool)
U111(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U121(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U111(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → EQ_IN(Lucky, Juice)
U121(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U131(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U121(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → EQ_IN(Japanese, Parliament)
U131(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U141(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U131(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → NEXT_TO_IN(Norwegian, Blue)
U141(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U151(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
U141(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → HOUSES_IN(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))
HOUSES_IN(Prop) → U201(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
HOUSES_IN(Prop) → DOMAIN_IN(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))
DOMAIN_IN(.(X, Rest), Domain) → U211(X, Rest, Domain, select_in(X, Domain, NewDomain))
DOMAIN_IN(.(X, Rest), Domain) → SELECT_IN(X, Domain, NewDomain)
SELECT_IN(X, .(Y, R), .(Y, Rest)) → U231(X, Y, R, Rest, select_in(X, R, Rest))
SELECT_IN(X, .(Y, R), .(Y, Rest)) → SELECT_IN(X, R, Rest)
U211(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U221(X, Rest, Domain, domain_in(Rest, NewDomain))
U211(X, Rest, Domain, select_out(X, Domain, NewDomain)) → DOMAIN_IN(Rest, NewDomain)
U151(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U161(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U151(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → HOUSES_IN(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))
U161(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U171(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U161(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → HOUSES_IN(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))
U171(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U181(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U171(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → HOUSES_IN(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))
U181(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U191(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U181(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → HOUSES_IN(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))
zebra_in(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
eq_in(X, X) → eq_out(X, X)
U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
to_the_right_in(second, first) → to_the_right_out(second, first)
to_the_right_in(third, second) → to_the_right_out(third, second)
to_the_right_in(fourth, third) → to_the_right_out(fourth, third)
to_the_right_in(fifth, fourth) → to_the_right_out(fifth, fourth)
U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
next_to_in(first, second) → next_to_out(first, second)
next_to_in(second, first) → next_to_out(second, first)
next_to_in(second, third) → next_to_out(second, third)
next_to_in(third, second) → next_to_out(third, second)
next_to_in(third, fourth) → next_to_out(third, fourth)
next_to_in(fourth, third) → next_to_out(fourth, third)
next_to_in(fourth, fifth) → next_to_out(fourth, fifth)
next_to_in(fifth, fourth) → next_to_out(fifth, fourth)
U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
houses_in(Prop) → U20(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
domain_in(.(X, Rest), Domain) → U21(X, Rest, Domain, select_in(X, Domain, NewDomain))
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
U21(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U22(X, Rest, Domain, domain_in(Rest, NewDomain))
domain_in([], X) → domain_out([], X)
U22(X, Rest, Domain, domain_out(Rest, NewDomain)) → domain_out(.(X, Rest), Domain)
U20(Prop, domain_out(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))) → houses_out(Prop)
U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_out(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))) → zebra_out(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
ZEBRA_IN(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
ZEBRA_IN(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → EQ_IN(Englishman, Red)
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U21(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → EQ_IN(Spaniard, Dog)
U21(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U31(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U21(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → EQ_IN(Green, Coffee)
U31(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U41(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U31(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → EQ_IN(Ukrainian, Tea)
U41(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U51(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
U41(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → TO_THE_RIGHT_IN(Green, Ivory)
U51(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U61(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U51(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → EQ_IN(Winston, Snails)
U61(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U71(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U61(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → EQ_IN(Kool, Yellow)
U71(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U81(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U71(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → EQ_IN(Milk, third)
U81(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U91(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U81(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → EQ_IN(Norwegian, first)
U91(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U101(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
U91(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → NEXT_TO_IN(Fox, Chesterfield)
U101(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U111(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U101(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → NEXT_TO_IN(Horse, Kool)
U111(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U121(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U111(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → EQ_IN(Lucky, Juice)
U121(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U131(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U121(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → EQ_IN(Japanese, Parliament)
U131(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U141(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U131(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → NEXT_TO_IN(Norwegian, Blue)
U141(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U151(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
U141(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → HOUSES_IN(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))
HOUSES_IN(Prop) → U201(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
HOUSES_IN(Prop) → DOMAIN_IN(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))
DOMAIN_IN(.(X, Rest), Domain) → U211(X, Rest, Domain, select_in(X, Domain, NewDomain))
DOMAIN_IN(.(X, Rest), Domain) → SELECT_IN(X, Domain, NewDomain)
SELECT_IN(X, .(Y, R), .(Y, Rest)) → U231(X, Y, R, Rest, select_in(X, R, Rest))
SELECT_IN(X, .(Y, R), .(Y, Rest)) → SELECT_IN(X, R, Rest)
U211(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U221(X, Rest, Domain, domain_in(Rest, NewDomain))
U211(X, Rest, Domain, select_out(X, Domain, NewDomain)) → DOMAIN_IN(Rest, NewDomain)
U151(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U161(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U151(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → HOUSES_IN(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))
U161(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U171(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U161(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → HOUSES_IN(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))
U171(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U181(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U171(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → HOUSES_IN(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))
U181(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U191(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U181(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → HOUSES_IN(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))
zebra_in(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
eq_in(X, X) → eq_out(X, X)
U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
to_the_right_in(second, first) → to_the_right_out(second, first)
to_the_right_in(third, second) → to_the_right_out(third, second)
to_the_right_in(fourth, third) → to_the_right_out(fourth, third)
to_the_right_in(fifth, fourth) → to_the_right_out(fifth, fourth)
U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
next_to_in(first, second) → next_to_out(first, second)
next_to_in(second, first) → next_to_out(second, first)
next_to_in(second, third) → next_to_out(second, third)
next_to_in(third, second) → next_to_out(third, second)
next_to_in(third, fourth) → next_to_out(third, fourth)
next_to_in(fourth, third) → next_to_out(fourth, third)
next_to_in(fourth, fifth) → next_to_out(fourth, fifth)
next_to_in(fifth, fourth) → next_to_out(fifth, fourth)
U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
houses_in(Prop) → U20(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
domain_in(.(X, Rest), Domain) → U21(X, Rest, Domain, select_in(X, Domain, NewDomain))
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
U21(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U22(X, Rest, Domain, domain_in(Rest, NewDomain))
domain_in([], X) → domain_out([], X)
U22(X, Rest, Domain, domain_out(Rest, NewDomain)) → domain_out(.(X, Rest), Domain)
U20(Prop, domain_out(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))) → houses_out(Prop)
U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_out(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))) → zebra_out(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
SELECT_IN(X, .(Y, R), .(Y, Rest)) → SELECT_IN(X, R, Rest)
zebra_in(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
eq_in(X, X) → eq_out(X, X)
U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
to_the_right_in(second, first) → to_the_right_out(second, first)
to_the_right_in(third, second) → to_the_right_out(third, second)
to_the_right_in(fourth, third) → to_the_right_out(fourth, third)
to_the_right_in(fifth, fourth) → to_the_right_out(fifth, fourth)
U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
next_to_in(first, second) → next_to_out(first, second)
next_to_in(second, first) → next_to_out(second, first)
next_to_in(second, third) → next_to_out(second, third)
next_to_in(third, second) → next_to_out(third, second)
next_to_in(third, fourth) → next_to_out(third, fourth)
next_to_in(fourth, third) → next_to_out(fourth, third)
next_to_in(fourth, fifth) → next_to_out(fourth, fifth)
next_to_in(fifth, fourth) → next_to_out(fifth, fourth)
U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
houses_in(Prop) → U20(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
domain_in(.(X, Rest), Domain) → U21(X, Rest, Domain, select_in(X, Domain, NewDomain))
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
U21(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U22(X, Rest, Domain, domain_in(Rest, NewDomain))
domain_in([], X) → domain_out([], X)
U22(X, Rest, Domain, domain_out(Rest, NewDomain)) → domain_out(.(X, Rest), Domain)
U20(Prop, domain_out(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))) → houses_out(Prop)
U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_out(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))) → zebra_out(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
SELECT_IN(X, .(Y, R), .(Y, Rest)) → SELECT_IN(X, R, Rest)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
↳ PiDP
SELECT_IN(.(R)) → SELECT_IN(R)
From the DPs we obtained the following set of size-change graphs:
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
DOMAIN_IN(.(X, Rest), Domain) → U211(X, Rest, Domain, select_in(X, Domain, NewDomain))
U211(X, Rest, Domain, select_out(X, Domain, NewDomain)) → DOMAIN_IN(Rest, NewDomain)
zebra_in(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water) → U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_in(Englishman, Red))
eq_in(X, X) → eq_out(X, X)
U1(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, eq_out(Englishman, Red)) → U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_in(Spaniard, Dog))
U2(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, eq_out(Spaniard, Dog)) → U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_in(Green, Coffee))
U3(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, eq_out(Green, Coffee)) → U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_in(Ukrainian, Tea))
U4(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, eq_out(Ukrainian, Tea)) → U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_in(Green, Ivory))
to_the_right_in(second, first) → to_the_right_out(second, first)
to_the_right_in(third, second) → to_the_right_out(third, second)
to_the_right_in(fourth, third) → to_the_right_out(fourth, third)
to_the_right_in(fifth, fourth) → to_the_right_out(fifth, fourth)
U5(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, to_the_right_out(Green, Ivory)) → U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_in(Winston, Snails))
U6(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, eq_out(Winston, Snails)) → U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_in(Kool, Yellow))
U7(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, eq_out(Kool, Yellow)) → U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_in(Milk, third))
U8(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, eq_out(Milk, third)) → U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_in(Norwegian, first))
U9(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, eq_out(Norwegian, first)) → U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_in(Fox, Chesterfield))
next_to_in(first, second) → next_to_out(first, second)
next_to_in(second, first) → next_to_out(second, first)
next_to_in(second, third) → next_to_out(second, third)
next_to_in(third, second) → next_to_out(third, second)
next_to_in(third, fourth) → next_to_out(third, fourth)
next_to_in(fourth, third) → next_to_out(fourth, third)
next_to_in(fourth, fifth) → next_to_out(fourth, fifth)
next_to_in(fifth, fourth) → next_to_out(fifth, fourth)
U10(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, next_to_out(Fox, Chesterfield)) → U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_in(Horse, Kool))
U11(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, next_to_out(Horse, Kool)) → U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_in(Lucky, Juice))
U12(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, eq_out(Lucky, Juice)) → U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_in(Japanese, Parliament))
U13(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, eq_out(Japanese, Parliament)) → U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_in(Norwegian, Blue))
U14(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Red, Dog, Green, Coffee, Tea, Ivory, Winston, Snails, Kool, Yellow, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, next_to_out(Norwegian, Blue)) → U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, [])))))))
houses_in(Prop) → U20(Prop, domain_in(Prop, .(first, .(second, .(third, .(fourth, .(fifth, [])))))))
domain_in(.(X, Rest), Domain) → U21(X, Rest, Domain, select_in(X, Domain, NewDomain))
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
U21(X, Rest, Domain, select_out(X, Domain, NewDomain)) → U22(X, Rest, Domain, domain_in(Rest, NewDomain))
domain_in([], X) → domain_out([], X)
U22(X, Rest, Domain, domain_out(Rest, NewDomain)) → domain_out(.(X, Rest), Domain)
U20(Prop, domain_out(Prop, .(first, .(second, .(third, .(fourth, .(fifth, []))))))) → houses_out(Prop)
U15(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Blue, .(Green, .(Red, .(Yellow, .(Ivory, []))))))) → U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_in(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, [])))))))
U16(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Dog, Coffee, Tea, Winston, Snails, Kool, Milk, Fox, Chesterfield, Horse, Lucky, Juice, Parliament, houses_out(.(Norwegian, .(Englishman, .(Spaniard, .(Japanese, .(Ukrainian, []))))))) → U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_in(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, [])))))))
U17(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Winston, Kool, Milk, Chesterfield, Lucky, Juice, Parliament, houses_out(.(Dog, .(Zebra, .(Fox, .(Snails, .(Horse, []))))))) → U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_in(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, [])))))))
U18(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, Coffee, Tea, Milk, Juice, houses_out(.(Parliament, .(Kool, .(Lucky, .(Chesterfield, .(Winston, []))))))) → U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_in(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, [])))))))
U19(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water, houses_out(.(Milk, .(Juice, .(Water, .(Tea, .(Coffee, []))))))) → zebra_out(Englishman, Spaniard, Japanese, Ukrainian, Norwegian, Zebra, Water)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
DOMAIN_IN(.(X, Rest), Domain) → U211(X, Rest, Domain, select_in(X, Domain, NewDomain))
U211(X, Rest, Domain, select_out(X, Domain, NewDomain)) → DOMAIN_IN(Rest, NewDomain)
select_in(X, .(Y, R), .(Y, Rest)) → U23(X, Y, R, Rest, select_in(X, R, Rest))
select_in(X, .(X, R), R) → select_out(X, .(X, R), R)
U23(X, Y, R, Rest, select_out(X, R, Rest)) → select_out(X, .(Y, R), .(Y, Rest))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ QDPSizeChangeProof
DOMAIN_IN(.(Rest), Domain) → U211(Rest, select_in(Domain))
U211(Rest, select_out(NewDomain)) → DOMAIN_IN(Rest, NewDomain)
select_in(.(R)) → U23(select_in(R))
select_in(.(R)) → select_out(R)
U23(select_out(Rest)) → select_out(.(Rest))
select_in(x0)
U23(x0)
From the DPs we obtained the following set of size-change graphs: